import self as self

class MyMath:
    @staticmethod
    def add(a,b):  #加法
        return a+b

    @staticmethod
    def sub(a,b):# 减法
        return a-b

    @staticmethod
    def mul(a,b):# 乘法
        return a*b

    @staticmethod
    def division(a,b):  #除法
        return a/b

    @staticmethod
    def Power(a,b): #Power  幂
        return  a**b

    @staticmethod
    def sqr(a):  #开根
        return a**(1/2)  #  x ** (1 / 2)

"""
print(MyMath.add(3,4))
print(MyMath.sub(3,4))
print(MyMath.mul(3,4))
print(MyMath.division(3,4))
print(MyMath.Power(3,4))
print(MyMath.sqr(4))
"""

print("-----------自定义类------------")
class Book:
    content="我是父类的一个参数"  #声明类属性
    __news="新闻" #声明私有属性

    self.__read="read" #声明私有属性   通过实例._类名__变量名来访问私有属性

    """
     def __int__(self):
        pass
    def __init__(self,sig):
        self.sig=sig
    """
    def __init__(self,a,b,c):
        self.a=a
        self.b=b
        self.content="周杰伦"   #初始化实例属性
        self.__news=c    #绑定私有实例属性

    def add(self):
        return "无参数"


def __repr__(self):
    s = "In __repr__:\n    <{} object at {:#016x}>\n".format(repr(self.__class__), id(self))  # 使用类相关的信息输出类名和实例ID
    s += super().__repr__()  # 直接调用object.__repr__方法输出类信息和实例ID
    # 通过实例的self.__dict__获取实例的详细属性信息，注意使用了repr函数去获取字典信息字符串
    s += '\n' + repr(self.__dict__)
    return s


def __str__(self):
    return f"My Dict {self.a}"

book=Book("a","b","c")
book.Book__read="reads"
print(book.content)


print(book._Book__news) # 通过类._类名__变量名来访问私有属性
#print(book._Book__read)
print(book)



